// 主题配置
export const THEME_COLORS = {
  light: {
    name: '亮色',
    primary: '#1890ff',
    background: '#ffffff',
    text: '#000000',
  },
};

// 调色盘预设颜色
export const COLOR_PALETTE = [
  '#1890ff', // 蓝色
  '#52c41a', // 绿色
  '#faad14', // 橙色
  '#f5222d', // 红色
  '#722ed1', // 紫色
  '#13c2c2', // 青色
  '#eb2f96', // 粉色
  '#fa8c16', // 橙红
  '#a0d911', // 青绿
  '#fadb14', // 黄色
  '#9E9E9E', // 灰色
  '#03A9F4', // 亮蓝色
  '#009688', // 青色 (不同于#13c2c2)
  '#FFC107', // 琥珀色
];

// 生成主题颜色的工具函数
export const generateThemeColors = (primaryColor) => {
  // 生成渐变色
  const generateGradient = (color) => {
    // 将颜色转换为 RGB
    const hexToRgb = (hex) => {
      const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
      return result
        ? {
            r: parseInt(result[1], 16),
            g: parseInt(result[2], 16),
            b: parseInt(result[3], 16),
          }
        : null;
    };

    // 调整亮度
    const adjustBrightness = (rgb, factor) => {
      return {
        r: Math.min(255, Math.max(0, Math.round(rgb.r * factor))),
        g: Math.min(255, Math.max(0, Math.round(rgb.g * factor))),
        b: Math.min(255, Math.max(0, Math.round(rgb.b * factor))),
      };
    };

    // RGB 转回十六进制
    const rgbToHex = (rgb) => {
      return `#${((1 << 24) + (rgb.r << 16) + (rgb.g << 8) + rgb.b).toString(16).slice(1)}`;
    };

    const rgb = hexToRgb(color);
    const lightColor = rgbToHex(adjustBrightness(rgb, 1.2));
    const darkColor = rgbToHex(adjustBrightness(rgb, 0.8));

    return `linear-gradient(90deg, ${lightColor}, ${darkColor})`;
  };

  return {
    'color-primary': primaryColor,
    'color-gradient': generateGradient(primaryColor),
    'text-primary': '#000000',
    'bg-primary': '#ffffff',
    'border-primary': '#d9d9d9',
  };
};
